//package com.rephone.test;
//
//import static java.util.stream.Collector.Characteristics.CONCURRENT;
//import static java.util.stream.Collector.Characteristics.IDENTITY_FINISH;
//
//import java.util.*;
//import java.util.function.BiConsumer;
//import java.util.function.BinaryOperator;
//import java.util.function.Function;
//import java.util.function.Supplier;
//import java.util.stream.Collector;
//import java.util.stream.Stream;
//
///**
// * @description:
// * @author:Ihope
// * @date: 2024-12-28 15:33
// * @version:
// */
//public class ToClassColector<T> implements Collector<T, List<T>, List<T>> {
//  @Override
//  public Supplier<List<T>> supplier() {
//    return () -> {
//      System.out.println("supplier");
//      return new ArrayList<>();
//    };
//  }
//
//  @Override
//  public BiConsumer<List<T>, T> accumulator() {
//    return (list, item) -> {
//      System.out.println("accumulator");
//      list.add(item);
//    };
//  }
//
//  @Override
//  public BinaryOperator<List<T>> combiner() {
//    return (list1, list2) -> {
//      System.out.println("combiner");
//      list1.addAll(list2);
//      return list1;
//    };
//  }
//
//  @Override
//  public Function<List<T>, List<T>> finisher() {
//    return (list) -> list;
//  }
//
//  @Override
//  public Set<Characteristics> characteristics() {
//    return Collections.unmodifiableSet(EnumSet.of(IDENTITY_FINISH, CONCURRENT));
//  }
//
//  public static void main(String[] args) {
//    List<Integer> collect =
//        Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).collect(new ToClassColector<Integer>());
//    System.out.println(collect);
//  }
//}
